package com.chen.rabbitmq.two;

import com.chen.rabbitmq.utils.RabbitMqUtils;
import com.rabbitmq.client.Channel;

import java.util.Scanner;

/**
 * @author Y·C
 * @version 1.0.0
 * @ClassName Task01.java
 * @Description 生产者 送大量的消息
 * @createTime 2023年05月08日 11:55:00
 */
public class Task01 {

    //队列名称
    public static final String QUEUE_NAME = "hello";

    //发送大量消息
    public static void main(String[] args) throws Exception {

        Channel channel = RabbitMqUtils.getChannel();
        /**
         * 队列的声明
         * 1.队列名称
         * 2.队列里面的消息是否持久化（磁盘）默认情况下消息存储在内存中
         * 3.该队列是否提供一个消费者进行消费 是否进行消息共享，true可以多个消费者消费false：只能一个消费者消费
         * 4.是否自动删除 最后一个消费者断开连接以后  该队列是否自动删除 true自动删除 false 不自动删除
         * 5.其他参数
         * */
        channel.queueDeclare(QUEUE_NAME,false,false,false,null);
        //从控制台当中接收消息
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()){
            String message = scanner.next();
            /**
             *发送一个消息
             * 1.发送到那个交换机
             * 2.路由的 key 是哪个
             * 3.其他的参数信息
             * 4.发送消息的消息体
             */
            channel.basicPublish("",QUEUE_NAME,null,message.getBytes());
            System.out.println("发送消息完成：" + message);
        }

    }
}
